/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tk.eigh.ksvg.component.structure.container;

import ksvg.core.SVGCommand;
import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;

/**
 * <p>SVG provides an <a href="linking.html#AElement">‘a’</a> element, to
 * indicate links (also known as <em>hyperlinks</em> or <em>Web links</em>). The
 * <a href="linking.html#AElement">‘a’</a> element may contain any element that
 * its parent may contain, except itself.</p>
 *
 * <p>SVG uses XLink ([<a
 * href="http://www.w3.org/TR/2001/REC-xlink-20010627/">XLink</a>]) for all link
 * definitions. SVG 1.1 only requires that user agents support XLink's notion of
 * <a href="http://www.w3.org/TR/2001/REC-xlink-20010627/#simple-links"> simple
 * links</a>. Each simple link associates exactly two resources, one local and
 * one remote, with an arc going from the former to the latter.</p>
 *
 * <p>A simple link is defined for each separate rendered element contained
 * within the <a href="linking.html#AElement">‘a’</a> element; thus, if the <a
 * href="linking.html#AElement">‘a’</a> element contains three <a
 * href="shapes.html#CircleElement">‘circle’</a> elements, a link is created for
 * each circle. For each rendered element within an <a
 * href="linking.html#AElement">‘a’</a> element, the given rendered element is
 * the local resource (the source anchor for the link).</p>
 *
 * <p>The remote resource (the destination for the link) is defined by a <a
 * href="linking.html#IRIReference">IRI</a> specified by the XLink <a
 * href="linking.html#AElementXLinkHrefAttribute">‘xlink:href’</a> attribute on
 * the <a href="linking.html#AElement">‘a’</a> element. The remote resource may
 * be any Web resource (e.g., an image, a video clip, a sound bite, a program,
 * another SVG document, an HTML document, an element within the current
 * document, an element within a different document, etc.). By activating these
 * links (by clicking with the mouse, through keyboard input, voice commands,
 * etc.), users may visit these resources.</p>
 */
@JSFComponent(name = "svg:Anchor",
type = "tk.eigh.svg.Anchor",
family = "container.Anchor",
clazz = "ksvg.container.Anchor",
tagClass = "ksvg.tags.container.AnchorTag",
defaultRendererType = "container.SVGAnchorRenderer")
public abstract class AbstractAnchor extends SVGCommand {

    /**
     * target = "_replace" | "_self" | "_parent" | "_top" | "_blank" | "<a
     * href="types.html#DataTypeXML-Name">&lt;XML-Name&gt;</a>" <br/><p>This
     * attribute should be used when there are multiple possible targets for the
     * ending resource, such as when the parent document is a multi-frame HTML
     * or XHTML document. This attribute specifies the name or portion of the
     * target window, frame, pane, tab, or other relevant presentation context
     * (e.g., an HTML or XHTML frame, iframe, or object element) into which a
     * document is to be opened when the link is activated:</p>
     * <dl><dt>_replace</dt><dd>The current SVG image is replaced by the linked
     * content in the same rectangular area in the same frame as the current SVG
     * image.</dd><dt>_self</dt><dd>The current SVG image is replaced by the
     * linked content in the same frame as the current SVG image. If the
     * attribute is not specified, '_self' is
     * assumed.</dd><dt>_parent</dt><dd>The immediate frameset parent of the SVG
     * image is replaced by the linked content.</dd><dt>_top</dt><dd>The content
     * of the full window or tab, including any frames, is replaced by the
     * linked content</dd><dt>_blank</dt><dd>A new un-named window or tab is
     * requested for the display of the linked content. If this fails, the
     * result is the same as _top</dd><dt><a
     * href="types.html#DataTypeXML-Name">&lt;XML-Name&gt;</a></dt><dd>Specifies
     * the name of the frame, pane, or other relevant presentation context for
     * display of the linked content. If this already exists, it is re-used,
     * replacing the existing content. If it does not exist, it is created (the
     * same as '_blank', except that it now has a name). </dd></dl> <p>Note: The
     * value '_new' is <em>not</em> a legal value for target (use '_blank').</p>
     * <p><a href="animate.html#Animatable">Animatable</a>: yes.</p>
     */
    @JSFProperty
    public abstract String getTarget();
}